Network-provided content, such as Internet web pages or media content such as video, pictures, music, and the like, are typically served to end users via networked computer systems. End user requests for the network content are processed and the content is responsively provided over various network links. These networked computer systems can include hosting servers which host network content of content creators or originators, such as web servers for hosting a news website.
Various communication protocols use packetized communications between end points, such as transmission control protocol (TCP), which resides at the transport layer that handles flow control and data transport services for application layers, among other higher network layers. Software for TCP communications can include various packet buffers to temporarily store packets already transferred to another system, such as an end user system, until an acknowledgement is received from the other system. If the acknowledgement is not received, then these stored packets can be resent from the packet buffer. If the acknowledgment is received, then these stored packets can be purged or deleted from the packet buffer.
Overview
Methods, systems, and software are included for handling packet buffering between end users and content servers, such as content delivery nodes. In one example, a method of operating a content delivery node includes generating first packets with first data for a first content request, and storing the first packets in a packet buffer. The method also includes transferring the first packets to a first end user device and deleting the first packets from the packet buffer. The method further provides generating second packets with second data for a second content request and, in response to deleting the first packets, storing the second packets in the packet buffer. The method also includes transferring the second packets to a second end user device and deleting the second packets from the packet buffer. The method also provides monitoring for packet acknowledgments from the first end user device and the second end user device.
In another example, a computer apparatus to operate a content delivery node includes processing instructions to direct a content delivery node to perform the method described above. The apparatus further includes one or more non-transitory computer readable media that store the processing instructions.
In a further instance, a method of operating a content server includes identifying a first content request for a first user device and identifying a second content request for a second user device. The method also includes generating first packets with first data for the first content request and second packets with second data for the second content request. The method further provides storing the first packets in a packet buffer, transferring the first packets to the first user device, and deleting the first packets from the packet buffer. The method additionally includes storing the second packets in the packet buffer in response to deleting the first packets, transferring the second packets to the second user device, and deleting the second packets from the packet buffer. The method also provides monitoring for packet acknowledgments from the first user device and the second user device.